package org.byqh.dqeai.entity;

import com.easy.query.core.annotation.Column;
import com.easy.query.core.annotation.EntityFileProxy;
import com.easy.query.core.annotation.Table;
import com.easy.query.core.proxy.ProxyEntityAvailable;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.byqh.dqeai.entity.proxy.SysAppProxy;

import java.time.LocalDateTime;

/**
 * 实体类。
 *
 * @author easy-query-plugin automatic generation
 * @since 1.0
 */
@Data
@Schema(name = "SysApp", description = "$table.comment")
@Table(value = "SYS_APP")
@EntityFileProxy
public class SysApp implements ProxyEntityAvailable<SysApp, SysAppProxy> {

    /**
     * 应用ID
     */
    @Schema(description = "应用ID", requiredMode = Schema.RequiredMode.REQUIRED)
    @Column(primaryKey = true, value = "APP_ID")
    private String appId;

    /**
     * 应用名称
     */
    @Schema(description = "应用名称", requiredMode = Schema.RequiredMode.REQUIRED)
    @Column(value = "APP_NAME")
    private String appName;

    /**
     * 应用英文名
     */
    @Schema(description = "应用英文名")
    @Column(value = "APP_E_NAME")
    private String appEName;

    /**
     * 应用版本号
     */
    @Schema(description = "应用版本号")
    @Column(value = "APP_VER")
    private String appVer;

    /**
     * 应用描述
     */
    @Schema(description = "应用描述")
    @Column(value = "APP_DESC")
    private String appDesc;

    @Column(value = "CREATE_DATE")
    private LocalDateTime createDate;

    @Column(value = "CREATE_USER_ID")
    private String createUserId;

    /**
     * 最后更新的日期
     */
    @Schema(description = "最后更新的日期", example = "yyyy-MM-dd HH:mm:ss")
    @Column(value = "UPDATE_DATE")
    private LocalDateTime updateDate;

    @Column(value = "UPDATE_USER_ID")
    private String updateUserId;

    /**
     * 应用程序分类ID
     */
    @Schema(description = "应用程序分类ID")
    @Column(value = "CATEGORY_ID")
    private String categoryId;

    @Column(value = "ICON_HASH")
    private String iconHash;

    @Column(value = "LOGIN_IMG_HASH")
    private String loginImgHash;

    @Column(value = "START_IMG_HASH")
    private String startImgHash;

    @Column(value = "ICON_SIZE")
    private Long iconSize;

    @Column(value = "LOGIN_IMG_SIZE")
    private Long loginImgSize;

    @Column(value = "START_IMG_SIZE")
    private Long startImgSize;

    @Column(value = "BANNER_IMG_HASH")
    private String bannerImgHash;

    @Column(value = "BANNER_IMG_SIZE")
    private Long bannerImgSize;

    @Column(value = "APP_TYPE")
    private String appType;

    @Column(value = "APP_SEQ")
    private Integer appSeq;

    @Column(value = "LOCK_TYPE")
    private Integer lockType;

    @Column(value = "APP_ENABLE")
    private Boolean appEnable;
}
